M.define(function (helloRepository) {

    helloRepository.act("save");
    helloRepository.act("findByReadableId");

    var bean = {
        times:0
    };

    var a = 0;
    return {
        __init__ : function (node) {
            bean.readableId = node.target;
            this.__load__();
        },
        __load__: function () {
            var data = helloRepository.findByReadableId(bean.readableId);
            bean = M.extend(bean, data);
        },
        create : function (p) {
            bean.name = p.name;
            // bean.times = 0;
            // print(p.name);
            this.save();
            this. __load__();
        },
        hello : function (index) {
            bean.times++;
            a++;
            // if(a ==10){
                this.save();
            //     a = 0;
            // }
            return "ok";
        },
        save : function () {
            helloRepository.save(bean);
        },
        __stop__ : function () {
            // print(" STOP !!");
            this.save();
        }
    };
})